﻿namespace LM.Repositorios
{
    using System;
    using System.Linq;
    using System.Reflection;

    public class FabricaDeRepositorios
    {
        public static T Crie<T>()
        {
            var tipoImplementacao =
                Assembly.GetExecutingAssembly().GetTypes().FirstOrDefault(t => t.GetInterfaces().Contains(typeof(T)));

            if (tipoImplementacao != null)
            {
                return (T)Activator.CreateInstance(tipoImplementacao);
            }

            return default(T);
        }
    }
}
